/*
 * Created by Federico Pisarello - SisDev Software (c) 2012 - fpisarello@sisdevsoft.com
 */

var popForm = 'busquedaPop.php';
var actionForm = 'busquedaAction.php';

var joDataTitulo;
var oTable;

/** Variable of tracking the IndexPK **/
var actionPK = undefined;
var action = undefined;

function $_init()
{
	
	var gaiSelected;
	
	$(document).ready(function() {
    	oTable = $('#dt_titulos').dataTable( {
					"bJQueryUI": true,
					"sPaginationType": "full_numbers",
					"bInfo": false,
					"bLengthChange": false,
					"bProcessing": true,
					"bServerSide": true,
					"oLanguage": {
						"sUrl": "js/datatables/js/dataTables.es.txt"
					},
					"sAjaxSource": actionForm + "?accion=search",
					"fnServerData": function(sSource, aoData, fnCallback)
				    {
			          aoData.push(
			        		  		{"name": "provincia", "value": $("#cmbProvincia").val()},
			        		  		{"name": "localidad", "value": $("#cmbLocalidad").val()},
			        		  		{"name": "transmitente", "value": $("#busTransmitente").val()},
			        		  		{"name": "adquirente", "value": $("#busAdquirente").val()},
			        		  		{"name": "observaciones", "value": $("#busObservaciones").val()}
			        		  	 );
			          $.getJSON( sSource, aoData, function (json) { 
							fnCallback(json);
							$(".totalRec").text("Cantidad de Registros: " + oTable.fnSettings().fnRecordsTotal());
						}); 
				    },
					"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
						if ( jQuery.inArray(aData[0], gaiSelected) != -1 )
						{
					        $(nRow).addClass('row_selected');
						}
						return nRow;
					},
					"aoColumns": [
					  			{"bVisible" : false},
					  			null,
					  			null,
					  			null,
					  			null,
					  			null,
					  			null,
					  			null
					  		]

				});
    	    	
    	/* Click event handler */
    	$('#dt_titulos tbody tr').live('click', function () {
    		var aData = oTable.fnGetData(this);
    		var iId = aData[0];
    		actionPK = aData[0];
    		
    		gaiSelected =  [];
    		if ( $(this).hasClass('row_selected') ) {
	            $(this).removeClass('row_selected');
	            actionPK = undefined;
	        }
	        else {
	            oTable.$('tr.row_selected').removeClass('row_selected');
	            $(this).addClass('row_selected');
	            gaiSelected[gaiSelected.length++] = iId;
	        }
    	} );

	});
	
	$("#titulosDialog").dialog({
		autoOpen:false, 
		height:520, 
		width:525, 
		dialogClass:'no-close',
		beforeClose: function() { $_CleartitulosPopForm(); }
	});
	
	//Populate Combos
	$_populateProvincias();
	
	$('#cmbProvincia').change( function() {
		$_populateLocalidades($('#cmbProvincia').val());
	});
}

function searchFilter()
{
	oTable.fnDraw();
}

function $_initPop()
{		
	//Populate User Data	
	if(action == iConst.VIEW)
	{
		$('#idTitulo').val(joDataTitulo.idTitulo);
		$('#descripcion').val(joDataTitulo.descripcion);
		$('#nroContaduria').val(joDataTitulo.nroContaduria);
		$('#nroTitulo').val(joDataTitulo.nroTitulo);
		$('#nroEscritura').val(joDataTitulo.nroEscritura);
		$('#annoEscritura').val(joDataTitulo.annoEscritura);
		$('#partidoDpto').val(joDataTitulo.dptoPartido);
		$('#provincia').val(joDataTitulo.provincia);
		$('#localidad').val(joDataTitulo.localidad);
		$('#transmitente').val(joDataTitulo.transmitente);
		$('#adquirente').val(joDataTitulo.adquirente);
		$('#observaciones').val(joDataTitulo.observaciones);		
	}
}

function $_populateProvincias(provincia)
{
	$('#cmbProvincia option').remove();
	
	if(provincia == undefined)
		provincia = 0;
	
	$.ajax({ 
	    url: actionForm, 
	    type:'POST',
	    data: 'accion=getProvincias', 
	    dataType: 'json', 
	    success: function(json) { 
	    	$('#cmbProvincia').append($('<option>').text('...').attr('value', 0));
	        $.each(json, function(i, value) {
	        	if(value.idProvincia == provincia)
	        		$('#cmbProvincia').append($('<option selected>').text(value.descripcion).attr('value', value.idProvincia));
	        	else
	        		$('#cmbProvincia').append($('<option>').text(value.descripcion).attr('value', value.idProvincia));
	        });
	    }
	});	
}

function $_populateLocalidades(provincia, localidad)
{
	if(provincia == undefined)
		return;
	
	if(localidad == undefined)
		localidad = 0;
	
	$('#cmbLocalidad option').remove();
	
	$.ajax({ 
	    url: actionForm, 
	    type:'POST',
	    data: {accion : 'getLocalidades', idProvincia:  provincia}, 
	    dataType: 'json', 
	    success: function(json) {
	    	$('#cmbLocalidad').append($('<option>').text('...').attr('value', 0));
	        $.each(json, function(i, value) {
	        	if(value.idLocalidad == localidad)
	        		$('#cmbLocalidad').append($('<option selected>').text(value.descripcion).attr('value', value.idLocalidad));
	        	else
	        		$('#cmbLocalidad').append($('<option>').text(value.descripcion).attr('value', value.idLocalidad));
	        });
	    }
	});	
}

function viewProxyShow()
{
	if(actionPK === undefined)
	{
		$_showMessage('ALERT', 'ALERTA', 'Seleccione un Item de la Grilla');
		return;
	}
	
	action = iConst.VIEW;
	var paramData =  "accion=" + iConst.VIEW + "&idTitulo=" + actionPK;
	
    $.ajax({
        type: 'POST',
        url: actionForm,
        data: paramData,
		dataType: 'json',
        success: function(jsonObj)
                            {
        						joDataTitulo = jsonObj;
        						//Open Pop Dialog
        						$('#titulosDialog').load(popForm).dialog('open');
                            }
        });
	
return true;
}

function $_CleartitulosPopForm()
{	
	$("#titulosDialog").empty();
}